package Day009_Map_斗地主_冒泡排序.demo01_Map集合;

/*
    遍历方式一: 键找值方式
                1.获取Map集合中所有的键  keySet()方法
                2.遍历获取到的所有的键    增强for
                3.在循环中,根据键找值    get(K key)

    遍历方式二: 键值对对象方式
                1.获取Map集合的所有键值对对象  entrySet()方法
                2.遍历所有键值对对象          增强for
                3.在循环中,通过键值对对象的getKey()方法 获取键
                  在循环中,通过键值对对象的getValue()方法 获取值
 */

import java.util.HashMap;
import java.util.Map;
import java.util.Set;

public class Map集合遍历 {
    public static void main(String[] args) {

        //创建Map集合
        Map<String, String> map = new HashMap<>(); //多态
        map.put("黄晓明", "杨颖");
        map.put("文章", "马伊琍");
        map.put("谢霆锋", "王菲");
        map.put("李亚鹏", "王菲");

        //遍历方式一: 键找值方式
        //1.获取Map集合中所有的键  keySet()方法
        Set<String> keys = map.keySet();

        //2.遍历Set集合中所有的键    增强for
        for (String Key : keys) {
            //3.在循环中,根据键找值
            String Value = map.get(Key);
            System.out.println("Key:" + Key + " " + "Value:" + Value);
        }

        //遍历方式二: 键值对对象方式
        //1.获取Map集合的所有键值对对象  entrySet()方法
        Set<Map.Entry<String, String>> entrySet = map.entrySet();

        //2.遍历Set集合中所有键值对对象          增强for
        for (Map.Entry<String, String> entry : entrySet) {
            //在循环中,通过键值对对象的getKey()方法 获取键
            //在循环中,通过键值对对象的getValue()方法 获取值
            String Key = entry.getKey();
            String Value = entry.getValue();
            System.out.println("Key:" + Key + " " + "Value:" + Value);
        }
    }
}
